<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
<!-- whatsnew55.qdoc -->
  <title>What's New in Qt 5.5 | Qt 5.14</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="index.html">Qt 5.14</a></td><td >What's New in Qt 5.5</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right">Qt 5.14.2 Reference Documentation</td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#new-modules">New Modules</a></li>
<li class="level1"><a href="#new-features-in-qt-5-5">New Features in Qt 5.5</a></li>
<li class="level2"><a href="#qt-bluetooth-module">Qt Bluetooth Module</a></li>
<li class="level2"><a href="#qt-core-module">Qt Core Module</a></li>
<li class="level2"><a href="#qt-gui-module">Qt GUI Module</a></li>
<li class="level2"><a href="#qt-multimedia-module">Qt Multimedia Module</a></li>
<li class="level2"><a href="#qt-nfc-module">Qt NFC Module</a></li>
<li class="level2"><a href="#qt-network-module">Qt Network Module</a></li>
<li class="level2"><a href="#qt-platform-abstraction-qpa">Qt Platform Abstraction (QPA)</a></li>
<li class="level2"><a href="#qt-qml-module">Qt QML Module</a></li>
<li class="level2"><a href="#qt-quick-module">Qt Quick Module</a></li>
<li class="level2"><a href="#qt-quick-controls-module">Qt Quick Controls Module</a></li>
<li class="level2"><a href="#qt-webengine-module">Qt WebEngine Module</a></li>
<li class="level2"><a href="#qt-webview-module">Qt WebView Module</a></li>
<li class="level1"><a href="#deprecated-functionality">Deprecated Functionality</a></li>
<li class="level1"><a href="#list-of-api-changes">List of API Changes</a></li>
<li class="level1"><a href="#additions-to-other-qt-5-releases">Additions to Other Qt 5 Releases</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">What's New in Qt 5.5</h1>
<span class="subtitle"></span>
<!-- $$$whatsnew55.html-description -->
<div class="descr"> <a name="details"></a>
<a name="new-modules"></a>
<h2 id="new-modules">New Modules</h2>
<ul>
<li><a href="../qt3d/qt3d-index.html">Qt 3D</a><ul>
<li>Included as a technology preview.</li>
<li>C++ and QML APIs for easy inclusion of 3D graphics into Qt applications.</li>
<li>Supports OpenGL versions 2, 3 and 4, and OpenGL ES versions 2 and 3.</li>
<li>Data-driven renderer configuration.</li>
<li>Extensible beyond 3D graphics. Provides a full Entity Component System framework.</li>
<li>Supported platforms:<ul>
<li>Windows (not RT)</li>
<li>OS X</li>
<li>Linux/xcb</li>
<li>Android</li>
<li>Embedded Linux with ES 2</li>
<li>(Support for QNX and iOS planned)</li>
</ul>
</li>
</ul>
</li>
<li><a href="../qtlocation/qtlocation-index.html">Qt Location</a><ul>
<li>Included as a technology preview.</li>
<li>Adds mapping, (reverse-)geocoding, routing and place features to Qt.</li>
</ul>
</li>
</ul>
<a name="new-features-in-qt-5-5"></a>
<h2 id="new-features-in-qt-5-5">New Features in Qt 5.5</h2>
<a name="qt-bluetooth-module"></a>
<h3 id="qt-bluetooth-module">Qt Bluetooth Module</h3>
<ul>
<li>Classic Bluetooth support added for <a href="macos.html">macOS</a>.</li>
<li>Bluetooth Low Energy support added for <a href="android.html">Android</a>, <a href="ios.html">iOS</a> and <a href="macos.html">macOS</a></li>
</ul>
<a name="qt-core-module"></a>
<h3 id="qt-core-module">Qt Core Module</h3>
<ul>
<li>Added a possibility to have <a href="../qtcore/qobject.html#Q_PROPERTY">Q_PROPERTY</a> and <a href="../qtcore/qobject.html#Q_INVOKABLE">Q_INVOKABLE</a> within a <a href="../qtcore/qobject.html#Q_GADGET">Q_GADGET</a>, with a way to query the <a href="../qtcore/qmetaobject.html">QMetaObject</a> of such gadgets using the <a href="../qtcore/qmetatype.html">QMetaType</a> system.</li>
<li>Added <a href="../qtcore/qobject.html#Q_ENUM">Q_ENUM</a> to replace Q_ENUMS, which allows to get a <a href="../qtcore/qmetaenum.html">QMetaEnum</a> at compile time using <a href="../qtcore/qmetaenum.html#fromType">QMetaEnum::fromType</a>&lt;T&gt;. Such enums are now automatically registered as metatypes, and can be converted to strings within <a href="../qtcore/qvariant.html">QVariant</a>, or printed as string by <a href="../qtcore/qtglobal.html#qDebug">qDebug</a>().</li>
</ul>
<a name="qt-gui-module"></a>
<h3 id="qt-gui-module">Qt GUI Module</h3>
<ul>
<li>All Windows packages are now built with <code>-opengl dynamic</code>. No OpenGL-only or ANGLE-only builds are provided anymore.</li>
<li>On Windows, the OpenGL implementation to use can now be configured based on the GPU vendor and driver versions using JSON configuration files. This allows shipping fine-grained card and driver blacklists with the applications when necessary.</li>
<li><a href="../qtgui/qimage.html">QImage</a>: Added 8-bit alpha map and grayscale formats.</li>
</ul>
<a name="qt-multimedia-module"></a>
<h3 id="qt-multimedia-module">Qt Multimedia Module</h3>
<ul>
<li>Added GStreamer 1.0 support. Note that the default is still 0.10. Version 1.0 support can be enabled by configuring Qt with <code>-gstreamer 1.0</code>.</li>
<li>Added a new video filtering framework to integrate frameworks like OpenCV or compute APIs such as OpenCL or CUDA with <a href="../qtmultimedia/qml-qtmultimedia-videooutput.html">VideoOutput</a> elements.</li>
<li>Added a new API to control camera viewfinder settings.</li>
<li>Improved camera support on iOS (focus, zoom, exposure, image and viewfinder settings).</li>
<li>The QML <a href="../qtmultimedia/qml-qtmultimedia-mediaplayer.html">MediaPlayer</a> is now rendered in an OpenGL texture on iOS. This means <a href="../qtmultimedia/qml-qtmultimedia-videooutput.html">VideoOutput</a> supports advanced transformation and shader effects, and doesn't have to be always on top of other items anymore.</li>
</ul>
<a name="qt-nfc-module"></a>
<h3 id="qt-nfc-module">Qt NFC Module</h3>
<ul>
<li>Ported to <a href="linux.html">Linux</a> using Neard v0.14 or later.</li>
</ul>
<a name="qt-network-module"></a>
<h3 id="qt-network-module">Qt Network Module</h3>
<ul>
<li>Added a new SSL backend for iOS and OS X, based on Secure Transport.</li>
<li>Added support for <i>libproxy</i>.</li>
<li>Added support for TLS PSK ciphersuites.</li>
<li>Added support for elliptic curve certificates.</li>
<li>Added ability to select specific curves when using elliptic curve ciphersuites.</li>
</ul>
<a name="qt-platform-abstraction-qpa"></a>
<h3 id="qt-platform-abstraction-qpa">Qt Platform Abstraction (QPA)</h3>
<ul>
<li>Added support for Raspberry Pi 2.</li>
<li>On supported desktops, the xcb plugin now uses the D-Bus based <code>org.kde.StatusNotifier</code> protocol for system tray icons, and <code>org.freedesktop.Notifications</code> for notifications.</li>
<li>Added a KMS/DRM backend for EGLFS. This replaces the now deprecated KMS platform plugin. It allows running applications with eglfs on the console on systems with Mesa and devices that come with DRM support.</li>
<li>Added a plugin-based backend mechanism for EGLFS, in addition to the existing, statically compiled-in solution. Most compiled-in hooks are converted to be dynamically loaded plugins that are built based on configure time tests. This reduces the reliance on the device makespecs for Raspberry Pi, i.MX6 and Mali-based devices.</li>
<li>Input handling is now unified for EGLFS and <a href="embedded-linux.html#linuxfb">LinuxFB</a>, avoiding the need to launch and configure <a href="embedded-linux.html#linuxfb">LinuxFB</a>-based applications differently compared when using EGLFS.</li>
<li><i>tslib</i> is now better integrated with EGLFS and <a href="embedded-linux.html#linuxfb">LinuxFB</a> to provide support for resistive single-touch touchscreens often used in industrial environments.</li>
<li>xcb is refactored to move GLX and EGL support into plugins.</li>
<li>Added a TUIO Touch plugin for receiving remote touch events via UDP.</li>
<li>Added a <i>libinput</i> plugin.</li>
<li>iOS: Added support into <a href="../qtwidgets/qfiledialog.html">QFileDialog</a> for browsing system photos using a native image picker dialog. Selected photos can be loaded using <a href="../qtcore/qfile.html">QFile</a>.</li>
</ul>
<a name="qt-qml-module"></a>
<h3 id="qt-qml-module">Qt QML Module</h3>
<ul>
<li>Added a possibility to conveniently expose custom C++ value types into the JavaScript environment of QML and <a href="../qtqml/qjsengine.html">QJSEngine</a>.</li>
<li>Added support for JavaScript typed arrays.</li>
<li>Various performance improvements, notably <a href="../qtqml/qjsvalue.html">QJSValue</a>.</li>
<li>Added a convenience qJsEngine(<a href="../qtcore/qobject.html">QObject</a>*) getter function.</li>
</ul>
<a name="qt-quick-module"></a>
<h3 id="qt-quick-module">Qt Quick Module</h3>
<ul>
<li>Windows now defaults to the threaded Qt Quick render loop when using desktop OpenGL (<code>opengl32.dll</code>).</li>
<li>Added support for threaded rendering in <a href="../qtquick/qquickrendercontrol.html">QQuickRenderControl</a>.</li>
<li>Improved behavior of <a href="../qtquick/qml-qtquick-flickable.html">Flickable</a> on OS X trackpads using pixel deltas from native gestures.</li>
<li>Added support for <a href="../qtquick/qml-qtquick-pincharea.html">PinchArea</a> to handle native pinch gestures when the OS provides them (so far, only on OS X).</li>
<li>Added a smart zoom signal to <a href="../qtquick/qml-qtquick-pincharea.html">PinchArea</a> to react to that gesture on an OS X trackpad.</li>
<li>Added a <a href="../qtquick/qml-qtquick-mousearea.html#scrollGestureEnabled-prop">scrollGestureEnabled</a> property to <a href="../qtquick/qml-qtquick-mousearea.html">MouseArea</a> to control whether native scroll gestures from the OS will be handled by the wheel signal handler.</li>
</ul>
<a name="qt-quick-controls-module"></a>
<h3 id="qt-quick-controls-module">Qt Quick Controls Module</h3>
<ul>
<li><a href="../qtquickextras/qtquickextras-index.html">Qt Quick Extras</a>, formerly Qt Quick Enterprise Controls, was added under the <a href="../qtquick/qtquick-module.html">QtQuick</a>.Extras import.</li>
<li>Added a <a href="../qtquickcontrols1/qml-qtquick-controls-treeview.html">TreeView</a> control for <a href="../qtcore/qabstractitemmodel.html">QAbstractItemModel</a>-derived models. Supports <a href="../qtcore/qitemselectionmodel.html">QItemSelectionModel</a> selection.</li>
</ul>
<a name="qt-webengine-module"></a>
<h3 id="qt-webengine-module">Qt WebEngine Module</h3>
<ul>
<li>Added <a href="../qtwebengine/qml-qtwebengine-webengineprofile.html">WebEngineProfile</a> for controlling storage and cache paths and related policies.</li>
<li>Added support for a JavaScript Geolocation API with <a href="../qtlocation/qtlocation-index.html">Qt Location</a> as a backend.</li>
<li>Added API for managing downloading of files.</li>
<li>Added API for controlling cache and cookie paths and policy.</li>
<li>Added API for WebEngine settings.</li>
<li>Various experimental QML APIs promoted to public.</li>
<li>Added <a href="../qtwebchannel/qtwebchannel-qmlmodule.html">QtWebChannel</a> integration API over Chromium IPC.</li>
<li>Updated Chromium snapshot to version 40.</li>
</ul>
<a name="qt-webview-module"></a>
<h3 id="qt-webview-module">Qt WebView Module</h3>
<ul>
<li>Added native implementations for OS X.</li>
<li>Added API for running JavaScript (Requires API 19+ on Android).</li>
<li>Added API for setting the HTML content.</li>
<li>Added API for load status notifications.</li>
</ul>
<a name="deprecated-functionality"></a>
<h2 id="deprecated-functionality">Deprecated Functionality</h2>
<p>The following modules are deprecated in Qt 5.5:</p>
<ul>
<li>Qt <a href="../qtwebengine/qtwebengine-3rdparty-webkit.html">WebKit</a></li>
<li>Qt Declarative (Qt Quick 1)</li>
<li>Qt Script</li>
</ul>
<p>These modules are still included in Qt 5.5, but are considered for removal in future releases.</p>
<a name="list-of-api-changes"></a>
<h2 id="list-of-api-changes">List of API Changes</h2>
<p>The pages below contain a list of API changes in Qt 5.5:</p>
<ul>
<li><a href="newclasses55.html">New Classes and Functions in Qt 5.5</a></li>
<li><a href="obsoleteclasses.html">Obsolete Classes</a></li>
</ul>
<a name="additions-to-other-qt-5-releases"></a>
<h2 id="additions-to-other-qt-5-releases">Additions to Other Qt 5 Releases</h2>
<ul>
<li><a href="whatsnew54.html">What's New in Qt 5.4</a></li>
<li><a href="whatsnew53.html">What's New in Qt 5.3</a></li>
<li><a href="whatsnew52.html">What's New in Qt 5.2</a></li>
<li><a href="whatsnew51.html">What's New in Qt 5.1</a></li>
<li><a href="whatsnew50.html">What's New in Qt 5.0</a></li>
</ul>
</div>
<!-- @@@whatsnew55.html -->
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2020 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
